//package com.xxx.swagger;
//
//import org.apache.shiro.mgt.SecurityManager;
//import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
//import java.util.LinkedHashMap;
//import java.util.Map;
//
///**
// * @创建人 shmily
// * @Date 2019/8/9
// * @描述
// */
//@Configuration
//public class RoleFilter {
//    @Bean
//    public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) {
//        ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
//        // 必须设置 SecurityManager
//        shiroFilterFactoryBean.setSecurityManager(securityManager);
//        // setLoginUrl 如果不设置值，默认会自动寻找Web工程根目录下的"/login.jsp"页面 或 "/login" 映射
//        shiroFilterFactoryBean.setLoginUrl("/login");
//        // 设置无权限时跳转的 url;
//        //shiroFilterFactoryBean.setUnauthorizedUrl("/notRole");
//        // 设置拦截器
//        Map<String, String> filterChainDefinitionMap = new LinkedHashMap<>();
//        //游客，开发权限
//        //filterChainDefinitionMap.put("/guest/**", "anon");
//        //用户，需要角色权限 “user”
//        //filterChainDefinitionMap.put("/user/**", "roles[user]");
//        //管理员，需要角色权限 “admin”
//        //filterChainDefinitionMap.put("/admin/**", "roles[admin]");
//        //开放登陆接口
//        filterChainDefinitionMap.put("/login", "anon");
//        //放行静态资源
//        filterChainDefinitionMap.put("/static/**", "anon");
//        filterChainDefinitionMap.put("/js/**", "anon");
//        //放行Swagger2页面
//        filterChainDefinitionMap.put("/doc.html","anon");
//        filterChainDefinitionMap.put("/swagger/**","anon");
//        filterChainDefinitionMap.put("/webjars/**", "anon");
//        filterChainDefinitionMap.put("/swagger-resources/**","anon");
//        filterChainDefinitionMap.put("/v2/**","anon");
//        filterChainDefinitionMap.put("/druid/**","anon");
//        filterChainDefinitionMap.put("/swagger-ui.html","anon");
//
//        //其余接口一律拦截
//        //主要这行代码必须放在所有权限设置的最后，不然会导致所有 url 都被拦截
//        filterChainDefinitionMap.put("/**", "authc");
//
//
//        shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
////        log.info("Shiro拦截器工厂类注入成功");
//        return shiroFilterFactoryBean;
//    }
//
//
//}
